package br.com.players.resource;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;

import br.com.players.model.Partida;
import br.com.players.service.CadastroPartidaService;


@Path("/cadastro/partida")
public class CadastroPartida {

	
	
	@POST
	@Path("/inserir")
	@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
	@Produces(MediaType.APPLICATION_JSON)
	public String cadastrarPartida(@FormParam("local") String local,@FormParam("dataPlay") String dataPlay,
			@FormParam("timeRival") String timeRival, @FormParam("hora") String hora) {
		Partida partida = new Partida();
		
		partida.setLocal(local);
		partida.setDataPlay(dataPlay);
		partida.setTimeRival(timeRival);
		partida.setHora(hora);
//		partida.setId_time(id_time);
		
		new CadastroPartidaService().inserirPartida(partida);
		return "sucesso";
	}
	
	@GET
	@Path("/buscar/todos")
	@Produces(MediaType.APPLICATION_JSON)
	public List<Partida> buscarPartidas() {
		return new CadastroPartidaService().listarPartidas();
	}
	
	@GET
	@Path("/buscar")
	@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
	@Produces(MediaType.APPLICATION_JSON)
	public Partida buscarPartida(@QueryParam("id") String id) {
		return new CadastroPartidaService().buscarPartidaPeloid(id);
	}
	
	
	@POST
	@Path("/remover")
	@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
	@Produces(MediaType.APPLICATION_JSON)
	public void removerPArtida(@FormParam("id") String id) {
		Partida partida = new Partida();
		partida.setId(Integer.parseInt(id));
		
		new CadastroPartidaService().removerPartida(partida);
	}
	
	@POST
	@Path("/atualizar/local")
	@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
	@Produces(MediaType.APPLICATION_JSON)
	public void atualizarTime(@FormParam("id") String id, @FormParam("local") String local, @FormParam("dataPlay") String dataPlay, @FormParam("timeRival") String timeRival, @FormParam("hora") String hora) {
		Partida partida = new Partida();
		
		partida.setId(Integer.parseInt(id));
		partida.setLocal(local);
		partida.setDataPlay(dataPlay);
		partida.setTimeRival(timeRival);
		
		new CadastroPartidaService().atualizarPartida(partida);
	}
	
}
